#ifndef FUZZYXMLPARSER_H
#define FUZZYXMLPARSER_H

#include "xmlparser.h"
#include "rule.h"
#include "collection.h"
#include "trianglemf.h"
#include "trapezoidmf.h"
#include "leftendmf.h"
#include "rightendmf.h"

class FuzzyXmlParser : public XmlParser
{
public:
    FuzzyXmlParser(const QString& fileName);

    void loadRuleFile(QVector<Rule*> *ruleList);
    void loadCollectionFile(Collection* collection, bool isOutput = false);

private:
    TriangleMF* loadTriangle();
    TrapezoidMF* loadTrapezoid();
    LeftEndMF* loadLeftEnd();
    RightEndMF* loadRightEnd();

    double* loadPoints(const int& nPoints);
};

#endif // FUZZYXMLPARSER_H
